package com.starbaba.weixin.model;

import org.apache.struts2.json.annotations.JSON;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Yukinomiu
 * @version 1.0
 */
public final class WeixinQRCustomerVO implements Serializable {

    private static final long serialVersionUID = 5059546329147235447L;

    private Long id;
    private Integer type;
    private String channel;
    private Long successCount;
    private Long registerCount;
    private Long activeCount;
    private Date date;

    public WeixinQRCustomerVO() {
    }

    public WeixinQRCustomerVO(Long id, Integer type, String channel, Long successCount, Long registerCount, Long activeCount, Date date) {
        this.id = id;
        this.type = type;
        this.channel = channel;
        this.successCount = successCount;
        this.registerCount = registerCount;
        this.activeCount = activeCount;
        this.date = date;
    }

    @Override
    public String toString() {
        return "WeixinQRCustomerVO{" +
                "id=" + id +
                ", type=" + type +
                ", channel='" + channel + '\'' +
                ", successCount=" + successCount +
                ", registerCount=" + registerCount +
                ", activeCount=" + activeCount +
                ", date=" + date +
                '}';
    }

    public Long getId() {
        return id;
    }

    public WeixinQRCustomerVO setId(Long id) {
        this.id = id;
        return this;
    }

    public Integer getType() {
        return type;
    }

    public WeixinQRCustomerVO setType(Integer type) {
        this.type = type;
        return this;
    }

    public String getChannel() {
        return channel;
    }

    public WeixinQRCustomerVO setChannel(String channel) {
        this.channel = channel;
        return this;
    }

    public Long getSuccessCount() {
        return successCount;
    }

    public WeixinQRCustomerVO setSuccessCount(Long successCount) {
        this.successCount = successCount;
        return this;
    }

    public Long getRegisterCount() {
        return registerCount;
    }

    public WeixinQRCustomerVO setRegisterCount(Long registerCount) {
        this.registerCount = registerCount;
        return this;
    }

    public Long getActiveCount() {
        return activeCount;
    }

    public WeixinQRCustomerVO setActiveCount(Long activeCount) {
        this.activeCount = activeCount;
        return this;
    }

    @JSON(format = "yyyy-MM-dd")
    public Date getDate() {
        return date;
    }

    public WeixinQRCustomerVO setDate(Date date) {
        this.date = date;
        return this;
    }
}
